#ifndef __GPIO_H
#define __GPIO_H
#include "main.h"


#define Led0_PORT   			GPIOB
#define Led0_PIN    			GPIO_PIN_8
#define	Led0_ON     			HAL_GPIO_WritePin(Led0_PORT,Led0_PIN,0)
#define	Led0_OFF     			HAL_GPIO_WritePin(Led0_PORT,Led0_PIN,1)
#define	Led0Toggle			 	HAL_GPIO_TogglePin(Led0_PORT,Led0_PIN)


#define Led1_PORT   			GPIOB
#define Led1_PIN    			GPIO_PIN_9
#define	Led1_ON     			HAL_GPIO_WritePin(Led1_PORT,Led1_PIN,0)
#define	Led1_OFF     			HAL_GPIO_WritePin(Led1_PORT,Led1_PIN,1)


#define MCU_POWKEY_PORT  		GPIOC
#define	MCU_POWKEY_PIN  		GPIO_PIN_9
#define	MCU_POWKEY_High			HAL_GPIO_WritePin(MCU_POWKEY_PORT,MCU_POWKEY_PIN,1)
#define	MCU_POWKEY_Low          HAL_GPIO_WritePin(MCU_POWKEY_PORT,MCU_POWKEY_PIN,0)

#define	BC26_POWKEY_High		MCU_POWKEY_High
#define	BC26_POWKEY_Low			MCU_POWKEY_Low

#define MCU_RESET_PORT  		GPIOA
#define	MCU_RESET_PIN  			GPIO_PIN_8
#define	MCU_RESET_High			HAL_GPIO_WritePin(MCU_RESET_PORT,MCU_RESET_PIN,1)
#define	MCU_RESET_Low           HAL_GPIO_WritePin(MCU_RESET_PORT,MCU_RESET_PIN,0)

#define	BC26_Reset_Low			MCU_RESET_Low
#define	BC26_Reset_High			MCU_RESET_High

#define	BC26_TX_Pin				GPIO_PIN_9
#define	BC26_RX_Pin				GPIO_PIN_10
#define	BC26_UART_Port			GPIOA
#define	BC26_TXPIN_Low           HAL_GPIO_WritePin(BC26_UART_Port,BC26_TX_Pin,0)
#define	BC26_RXPIN_Low           HAL_GPIO_WritePin(BC26_UART_Port,BC26_RX_Pin,0)



#define	NB_PW_EN_PORT			GPIOC	
#define	NB_PW_EN_PIN			GPIO_PIN_8
#define	NB_PW_Enable			HAL_GPIO_WritePin(NB_PW_EN_PORT,NB_PW_EN_PIN,0)
#define	NB_PW_Disable         	HAL_GPIO_WritePin(NB_PW_EN_PORT,NB_PW_EN_PIN,1)

#define RS485_DE_PORT   		(GPIOC)
#define RS485_DE_PIN   	 		GPIO_PIN_2

#define	RS485_TX_Data			HAL_GPIO_WritePin(RS485_DE_PORT,RS485_DE_PIN,1)
#define	RS485_RX_Data			HAL_GPIO_WritePin(RS485_DE_PORT,RS485_DE_PIN,0)
void  	ALLGPIO_Initial(void);
void 	BC26HardwareReset(void);

#endif

